﻿using System.ServiceModel;

namespace PS.WSSDeploy.Contract
{
    [ServiceContract(Namespace = "http://portalsolutions.net/WSSDeploy")]
    public interface IWSSDeployContract
    {
        [OperationContract]
        void Create(string sandboxSiteUrl, WSSFile wsp);
        [OperationContract]
        void Deploy(string wspName, DeployParams prms);
        [OperationContract]
        void Upgrade(string sandboxSiteUrl, WSSFile wsp);
        [OperationContract]
        void Uninstall(string wspName, DeployParams prms);
        [OperationContract]
        void CopyToRoot(WSSFiles files);
        [OperationContract]
        void CopyToGAC(WSSFiles files);
        [OperationContract]
        void RecycleAppPools();
        [OperationContract]
        void StartRemoteDebuggerMonitor(string loginName, string password);
        [OperationContract]
        void KillRemoteDebuggerMonitor();
        [OperationContract]
        void CreateDebugAccount(string loginName, string password);
        [OperationContract]
        string GetFarmServerList();
        [OperationContract]
        string GetWebApplicationList();
        [OperationContract]
        bool IsDeployed(string sandboxSiteUrl, string wspName);
        [OperationContract]
        bool IsExists(string sandboxSiteUrl, string wspName);
        [OperationContract]
        void CopyTo(string path, WSSFiles files);
    }
}
